BIN=process
CC=gcc
#SRC:main.c process.c
SRC=$(wildcard *.c)#使用wildcard 函数获取当前所有.c 文件
OBJ=$(SRC:.c=.o)#将SRC的所有同名的 .c 替换成 .o ，形成目标文件列表
LFLAGS=-o
CFLAGS=-c
RM=rm -f

#目标文件:依赖列表 --> 依赖关系
$(BIN):$(OBJ)
	$(CC) $(LFLAGS) $@ $^ #将依赖列表中的所有文件整体形成目标文件
%.o:%.c
	$(CC) $(CFLAGS) $< #将依赖列表中的源文件一个一个的给gcc 形成对应同名的目标文件

#伪目标：总是被执行
.PHONY:clean
clean:  #伪目标的依赖列表为空，也是有依赖关系的，因为有目标文件
	$(RM) $(BIN) $(OBJ)
